package com.hunttown.mes.rpc.domain.enums.user;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 会员级别 枚举：1注册会员 2银卡会员 3金卡会员 4钻石会员 5Plus会员
 * created by wangjunfu on 2018/11/6
 */
public enum UserLevelEnum {
    NORMAL(1, "注册会员"),
    SILVER(2, "银卡会员"),
    GOLD(3, "金卡会员"),
    DIAMOND(4, "钻石会员"),
    PLUS(5, "PLUS会员"),
    POP(10, "商户");

    private final int key;
    private final String value;

    UserLevelEnum(int key, String value) {
        this.key = key;
        this.value = value;
    }

    // 根据key获取枚举
    public static String getEnumByKey(int key) {
        String value = "";

        for (UserLevelEnum temp : UserLevelEnum.values()) {
            if (temp.getKey() == key) {
                value = temp.getValue();
            }
        }

        return value;
    }

    // 将枚举组成Map
    public static Map<Integer, String> getEnumList() {
        Map<Integer, String> map = new HashMap<>();

        for (UserLevelEnum temp : UserLevelEnum.values()) {
            if (temp.getKey() > -1) {
                map.put(temp.getKey(), temp.getValue());
            }
        }

        return map;
    }

    // 将枚举组成Map（因为枚举是公用的，所以不同项目选择的不一样）
    public static Map<Integer, String> getEnumList(List<Integer> keys) {
        Map<Integer, String> map = new HashMap<>();

        for (UserLevelEnum temp : UserLevelEnum.values()) {
            if (keys.contains(temp.getKey())) {
                map.put(temp.getKey(), temp.getValue());
            }
        }

        return map;
    }

    public int getKey() {
        return key;
    }

    public String getValue() {
        return value;
    }
}
